package com.jueling.culture.mapper;

import com.jueling.culture.core.Mapper;
import com.jueling.culture.dto.req.AgentVO;
import com.jueling.culture.dto.res.AgentUser;
import com.jueling.culture.dto.res.AgentUserForHover;
import com.jueling.culture.model.AgentInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author linp
 * @date 2022/04/09
 */
public interface AgentInfoMapper extends Mapper<AgentInfo> {
    /**
     * 查询代理信息
     * @param agentVO
     * @return
     */
    List<AgentInfo> getAgentList(AgentVO agentVO);

    /**
     * 查询代理人编号是否存在
     * @param custId
     * @return
     */
    Integer checkAgent(@Param("custId") String custId);

    /**
     * 查询代理信息
     * @param custId
     * @return
     */
    AgentInfo queryAgentInfoByCustId(@Param("custId") String custId);

    /**
     * 查询代理人列表
     * @return
     */
    List<AgentUser> getAgentUserList(@Param("custId") String custId);

    /**
     * 查询代理人级联
     * @return
     */
    List<AgentUserForHover> getAgentUserListForHover();

    /**
     * 修改用户状态
     * @param custId
     */
    void updateAgentState(@Param("custId") String custId);

    /**
     * 查询代理人名称
     * @param custId
     * @return
     */
    String getAgentName(@Param("custId") String custId);

    /**
     * 查询推荐人列表
     * @return
     */
    List<AgentInfo> getAgentListByTjRId();

    /**
     * 保存代理信息
     */
    Integer getAgentMaxId();

    /**
     * 修改用户名称
     * @param custId
     * @param yhxm
     */
    void updateTxrmc(@Param("custId") String custId, @Param("yhxm") String yhxm);

    /**
     * 修改代理信息
     * @param agentInfo
     */
    void updateAgent(AgentInfo agentInfo);
}